/**
 * @param Number timestamp 时间戳
 * @param String format 格式
 * @description 日期格式化
 */
export function dateFormat(timestamp, format) {
  const time = new Date(timestamp * 1000);
  // 日期格式
  format = format || "y-m-d h:i:s";

  // 是否补 0
  let addZero = function(value) {
    return value < 10 ? `0${value}` : value;
  };
  let year = time.getFullYear();   // 取得4位数的年份
  let month = addZero(time.getMonth() + 1); // 取得日期中的月份，其中0表示1月，11表示12月
  let day = addZero(time.getDate());        // 返回日期月份中的天数（1到31）
  let hours = addZero(time.getHours());     // 返回日期中的小时数（0到23）
  let minutes = addZero(time.getMinutes()); // 返回日期中的分钟数（0到59）
  let seconds = addZero(time.getSeconds()); // 返回日期中的秒数（0到59）

  const hash = {
    "y": year,
    "m": month,
    "d": day,
    "h": hours,
    "i": minutes,
    "s": seconds
  };

  return format.replace(/\w/g, o => {
    let str = hash[o.toLocaleLowerCase()];
    return str;
  });
}

/**
 * @description 全屏
 */
export function fullScreen() {
  let element = document.documentElement;
  if (window.ActiveXObject) {
    const WsShell = new ActiveXObject("WScript.Shell");
    WsShell.SendKeys("{F11}");
  } else if (element.requestFullScreen) {
    element.requestFullScreen();
  } else if (element.msRequestFullscreen) {
    element.msRequestFullscreen();
  } else if (element.webkitRequestFullScreen) {
    element.webkitRequestFullScreen();
  } else if (element.mozRequestFullScreen) {
    element.mozRequestFullScreen();
  }
}

/**
 * @description 退出全屏
 */
export function fullExit() {
  let element = document.documentElement;
  if (window.ActiveXObject) {
    const WsShell = new ActiveXObject("WScript.Shell");
    WsShell.SendKeys("{F11}");
  } else if (element.requestFullScreen) {
    document.exitFullscreen();
  } else if (element.msRequestFullscreen) {
    document.msExitFullscreen();
  } else if (element.webkitRequestFullScreen) {
    document.webkitCancelFullScreen();
  } else if (element.mozRequestFullScreen) {
    document.mozCancelFullScreen();
  }
}
